package com.ouc.eddyAlgorithm.service;

import com.ouc.eddyAlgorithm.entity.EddySet;

import java.util.List;

/**
 * eddySet的服务层
 *
 * @author B504
 */
public interface EddyAlgorithmSetService {
  /**
   * 通过数据库的id进行查找
   *
   * @param id 数据库的id
   * @return
   */
  EddySet selectEddySetById(Integer id);

  /**
   * 通过涡旋具体信息进行查找
   *
   * @param eddySet 涡旋具体信息
   * @return
   */

  List<EddySet> selectEddySet(EddySet eddySet);

  /**
   * 插入eddyset表eddyset信息
   *
   * @param eddySet eddySet对象
   * @return
   */
  Integer insertEddySet(EddySet eddySet);

  /**
   * 更新eddyset表字段
   * 通过id进行更新
   *
   * @param eddySet eddySet对象
   * @return
   */
  Integer updateEddySet(EddySet eddySet);

  /**
   * 删除对应记录
   *
   * @param eddyId 涡旋id
   * @return
   */
  Integer deleteEddySetByEddyId(Integer eddyId);

  /**
   * 多条记录一起删除
   *
   * @param eddSetId eddyId组成的字符串数组
   * @return
   */
  Integer deleteEddySetByEddyIds(String[] eddSetId);

  /**
   * 通过数据库id进行删除记录
   *
   * @param id 数据库id
   * @return
   */
  Integer deleteEddySetById(Integer id);

  /**
   * 删除所有记录数
   *
   * @return
   */
  Integer deleteEddySet();

  /**
   * 清空表使用truncate方式
   *
   * @return 一般都是0
   */
  void truncateTable();

  /**
   * 批量插入数据使用batch方式
   *
   * @param eddySetList 数据集合
   */
  void insertByBach(List<EddySet> eddySetList);

  /**
   * 获取txt中的涡旋信息
   *
   * @param filePath 文件路径
   * @return
   */
  List<EddySet> getEddyFormTxt(String filePath);
}
